For example, an air-mix damper and a mode switching damper in an in-vehicle air conditioning device are controlled by multiple servomotors. Each servomotor is integrally controlled by an electronic control unit (ECU) in the air conditioning device. Specifically, an operating position of the damper is controlled by the multiple servomotors. To perform operating position control, it is necessary to detect a current rotation position of the motor.
For example, in U.S. Pat. No. 5,803,355 corresponding to JP-B2-3601888, a potentiometer is used for detecting the current rotation position. The potentiometer detects an absolute value of the current rotation position with using a resistor. However, the resistance of the resistor may deviate from a linear relationship of resistance change, and/or may depend on temperature. Thus, detection accuracy of the position may be low. Recently, a pulse encoder for detecting an angle in a digital manner is used as a rotation detection device with comparatively high detection accuracy. The manufacturing cost of the pulse encoder is comparatively low. An absolute type pulse encoder detects the absolute value of the rotation angle position. In this case, each data of the absolute angle position is defined by multiple bits. However, when the encoder has high resolution, it is necessary to prepare a combination of a slit series array corresponding to the number of bits of the angle position and an optical detection system. Thus, the manufacturing cost of the device is high, and therefore, it is not preferable to apply the high resolution pulse encoder to a vehicle and the like.
In such an industrial field, a rotation detector having a combination of an increment type pulse encoder and a counter is suitably used. In this case, although the rotation pulse does not represent the absolute position, the counter calculates to add or subtract the rotation pulse so that the rotation detector detects the current angle position based on the calculated rotation pulse. Thus, it is necessary to detect an original point for providing a reference value. For example, in case of a dual directional motor, the rotation detector includes a two-row type pulse generation slit having a phase difference. The rotation detector includes a two-phase difference pulse encoder is applied to the motor. The encoder determines an advance angle relationship of a phase in a pulse waveform for detecting an angle corresponding to each slit so that the encoder detects the rotation direction. However, even when the two-phase difference pulse encoder is used, it is difficult to detect the original point with using only the pulse encoder. However, in US Patent Application Publication No. 2004/0124797 corresponding to JP-A-2004-215488, a device detects the original point with setting a special pattern of the original point.
In case of an air conditioning system for a vehicle, the number of servomotors increases according to increasingly complex control. To control multiple servomotors, a controller is assembled in each motor so that a servomotor unit is formed. Further, multiple servomotor units are connected to an integrated control unit via a communication network so that each servomotor unit is controlled independently by the integrated control unit. In such a system, when the system starts to operate after the system is energized, or when the system loses information about the current rotation position because of some reasons, the integrated control unit sends an instruction to detect the original point so that the current rotation position of the servomotor is determined. This instruction is defined as an initialization control instruction.
In the initialization control process, a certain rotation direction is tentatively determined such that the original point exists toward the certain rotation direction. The integrated control unit sends a communication instruction to each servomotor unit. The communication instruction provides to execute an initialization operation for detecting the original point and a tentative target position in the rotation direction. The servomotor unit starts to operate the motor, and the unit stops operating the motor when a pattern showing the original point is received from the pulse encoder. When the integrated control unit receives a stop signal of the motor from the servomotor unit, the integrated control unit sends information of the correct current rotation position showing the original point to the servomotor unit. Then, the servomotor unit receives the information, and stores the information in a memory. Thus, since the servomotor control circuit recognizes the correct current rotation position, the control circuit can control the motor to move toward the target position accurately according to the information of the target position transmitted from the integrated control unit.
However, in a conventional system, the integrated control unit absolutely determines a control instruction including a target position instruction for each servomotor unit. Thus, it is necessary for each servomotor unit to receive the information about the correct current rotation position showing the original point from the integrated control unit in each time even when the initialization process is performed. Thus, each servomotor unit does not have a means for autonomously obtaining the correct current rotation position information. The following difficulties may arise. When the original point is detected, and the servomotor stops, the integrated control unit transmits the correct current rotation position data of the original point to the servomotor unit, and then, the data is stored in the servomotor unit. However, in this case, time delay for communication occurs inevitably. If the motor position is displaced by external force or the like during the dead time as a waiting time, wrong current rotation position information may be stored in the servomotor unit. Further, since the current rotation position is not corrected during a normal operation, the rotation position may be varied from the correct position if the counter for counting the number of pulses from the encoder mistakes the counting because of a noise or the like.